﻿
CREATE FUNCTION [dbo].[Date_Format] (@Date datetime,@Mode varchar(10))  
RETURNS varchar(50) AS  
BEGIN 

IF @Date IS NULL RETURN NULL

If @Mode='0' -- mm-dd hh:mm
	return substring(convert(varchar,@Date,20),6,11)
If @Mode='1' -- yyyy-mm-dd hh:mm:ss
	return convert(varchar,@Date,20)
If @Mode='2' -- mm/dd/yy hh:mm
	return convert(varchar,@Date,1) +' ' + substring(convert(varchar,@Date,8),1,5)
If @Mode='3' -- mm/dd/yy
	return convert(varchar,@Date,1) 
If @Mode='3.1' -- mm/dd/yy
	return convert(varchar,@Date,101) 
If @Mode='4' -- yyyy/mm/dd
	return convert(varchar,@Date,111) 
If @Mode='5' -- yyyy-dd-mm hh:mm:ss
	return SUBSTRING(convert(varchar,@Date,20),6,100)
If @Mode='5.1' -- yyyy-dd-mm hh:mm:ss
	return LEFT(convert(varchar,@Date,20),19)
If @Mode='6' -- August 6, 2003
	return DATENAME(mm,@Date)+' '+DATENAME(dd,@Date)+', '+DATENAME(yyyy,@Date)
IF @Mode='7'
	return dbo.FormatFix(CONVERT(varchar,datepart(dy,@Date)-1),2)+' '+ CONVERT(varchar,@Date,108)
return ''
END





